#include "../header.h"

//获取套接字属性函数
//设定套接字属性函数

int main(int argc, char const *argv[])
{
    //1.建立一个套接字文件
    int sid = socket(AF_INET,SOCK_DGRAM,0);
    printf("sid = %d\n",sid);
    //2.获取属性
    int value = -1 ; 
    int size = sizeof(value);
    if(getsockopt(sid,SOL_SOCKET,SO_BROADCAST,&value,&size) < 0 )
    {
        perror("getsockopt error\n");
        return -1;
    }
    printf("获取广播属性成功 默认广播属性数值:%d\n",value);

    //1 代表允许广播
    value =  1;
    //3.设置属性
    if(setsockopt(sid,SOL_SOCKET,SO_BROADCAST,&value,sizeof(value)) < 0)
    {
        perror("setsockopt error\n");
        return -2;
    } 
    printf("设置广播属性成功!\n");
    
    //4.再次获取属性数值  value的数值就是1 了。
    if(getsockopt(sid,SOL_SOCKET,SO_BROADCAST,&value,&size) < 0 )
    {
        perror("getsockopt error\n");
        return -1;
    }
    printf("再次获取广播属性成功 获取的广播属性数值是:%d\n",value);

    return 0;
}
